﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace Projeto3D
{
    class Tiro : Object3D
    {
        public enum Tipo { Normal, Multishoot, Laser, LancaChamas };

        public int time;
        public int dano;
        public float speed;
        public Tipo tipo;
        public Vector3 direcao;

        public Tiro(Model model, Vector3 posicao, Vector3 direcao, Tipo tipo) :
            base(model)
        {
            //Fazer dano diferente pra tiros diferentes swith case
            this.dano = 10;
            this.speed = 1f;

            this.tipo = tipo;
            this.position = posicao;
            this.direcao = direcao;

            this.rotacao = new Vector3(0, MathHelper.ToDegrees((float)((-1)*Math.Atan2(direcao.Z, direcao.X))), 0);
            this.escala = new Vector3(0.2f, 0.2f, 0.2f);
        }

        public void update()
        {
            this.position += ((direcao / (float)(Math.Sqrt(direcao.X * direcao.X + direcao.Y * direcao.Y + direcao.Z * direcao.Z))) * speed);
        }
    }
}
